package MyApp;

import android.os.Handler;
import android.os.Message;
import android.util.Log;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

public class MyThread2 implements Runnable{
    private static final String TAG = "MyThread2";

    private Handler handler;

    private ArrayList<HashMap<String, String>> mDataList;

    public void setHandler(Handler handler) {
        this.handler = handler;
    }

    @Override
    public void run() {
        mDataList = new ArrayList<HashMap<String, String>>(); // 初始化 mDataList
        List<String[]> retlist = new ArrayList<>();
        try {
            // 修复了 URL 字符串
            Document doc = Jsoup.connect("https://www.meishichina.com/Topic/ReLiang/").get();
            Elements uls = doc.getElementsByTag("ul"); // 获取所有的 ul 元素

            // 从第四个<ul>开始获取
            if (uls.size() > 2) {
                Element ul = uls.get(4);

                // 从第四个<li>元素开始遍历
                for (int i = 4; i < ul.children().size(); i++) { // 从第五个<li>元素开始遍历，因为前四个是标题
                    Element li = ul.child(i);
                    Element span = li.child(0); // 获取li元素的第一个子元素，即<span>元素
                    String caloriesInfo = span.text(); // 提取卡路里信息
                    String foodName = li.text().substring(span.text().length()).trim(); // 提取食品名称

                    HashMap<String, String> map = new HashMap<>();
                    map.put("firstText", foodName); // 使用实际的食品名称
                    map.put("secondText", caloriesInfo); // 使用实际的卡路里信息
                    mDataList.add(map);
                }
            }


            if (handler != null) {
                Message msg = handler.obtainMessage(4, mDataList);
                handler.sendMessage(msg);
            }
        } catch (IOException e) {
            Log.e(TAG, "Error fetching or parsing document", e);


        }
    }
}
